home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Communications / Network / Chat 2.0.3 Release / Chat Documentation < prev    next >
Text File  |  1994-04-03  |  17KB  |  413 lines

  1. ****************************
  2.  
  3. This is a the documentation for Chat - an TCP/IP Chat Server for the Mac.
  4. It was originally written by Peter N. Lewis. Extensive modifications by me
  5. have turned it into version 2.
  6.  
  7. If anyone would like to write some better documentation for Chat 2.0 -
  8. please do so and send it to me - I just do not have the time to do it.
  9.  
  10. Email any comments/suggestions/complaints/etc. to:  nneul@umr.edu
  11.  
  12. This software is shareware - if you want to distribute it on any commercial
  13. medium (information services, CD, etc.) contact me first - I would 
  14. appreciate a sample copy of the CD for example.
  15.  
  16. The latest version of Chat and it source are available on my ftp site:
  17. pluto.cc.umr.edu   in    /pub/mac/Chat 2.0.x
  18.  
  19. I would appreciate a note from anyone who has done anything interesting 
  20. with the source - and before anyone redistributes any derivative works. 
  21. Also, please let me know if you are using the Chat room for something - 
  22. I'd like to know it's worth it.
  23.  
  24. Enjoy...
  25.  
  26. -- Nathan Neulinger (nneul@umr.edu)
  27.  
  28. **** WHATS NEW IN 2.0.3 ****
  29.  
  30. You can now switch between Foreground Only and Background Only versions 
  31. of the Chat Room by simply changing the Background only bit in the size
  32. resource. Thanks to Peter Lewis for providing the code to make this 
  33. possible. To cut down on size, the Chat room will be distributed in the 
  34. foreground only mode.
  35.  
  36. The utilities menu has been enabled. Features available in utilities menu:
  37.     Disabling User Passwords
  38.     Disabling Logins
  39.     Disabling Whispers
  40.     Disabling Yells
  41.     
  42. Default settings for these options are read in from the 'CPrf' resource 
  43. in the application. A 'TMPL' for editing this resource is also present. 
  44. The default port has been moved from a STR resource to the preferences 
  45. resource. The setting of disabling user passwords is restricted if their 
  46. are no passwords present in the file.
  47.  
  48. A new administrator command has been added - \SET to allow setting of 
  49. those disabled options from within the chat room. For example - with the 
  50. default admin password of "admin". The command "\SET admin logins off" 
  51. will disable any new logins. Typing "\SET admin" will list the options.
  52.  
  53. A new die rolling routine has been added - allows easy selection of 
  54. different die configurations in the standard roll playing notation such as
  55. 2d20 to roll 2 twenty sided dice. 
  56.  
  57. **** WHATS NEW IN 2.0.2 ****
  58.  
  59. By popular demand -  I have reverted to Chat being a BackGround only 
  60. application. However, instead of it only being background only, you have
  61. the choice. Two applications are distributed with the archive. The (BG) one
  62. is Background Only. The (FG) is Foreground Only. 
  63.  
  64. The only difference between the two is the "Only Background" bit in the 
  65. SIZE resource, and the 0 or 1 value in Str #3 in the Globals string
  66. resource. I know it is a cheap way to program it, but I don't have all 
  67. that much time to work on it. If anyone would like to write me a small 
  68. little piece of Pascal code that would check to see what the Background
  69. Only bit is, please do.
  70.  
  71. Plans for 2.0.3 - someone sent me some new code for the die rolling 
  72. routines. Will put that in as soon as I have a chance to rewrite it to 
  73. match the style of the rest of the program. Thanks to Erich at UIUC
  74. for the new code. 
  75.  
  76. Other Concerns: Chat logs can be placed in a specific location by 
  77. typing the full path in the ChannelLogNames string resource. 
  78. Eg. "HD 80:Chat Logs:Channel 1 Log" for example. Without the quotes! :)
  79.  
  80. There is still a problem with Chat crashing after running for an extended 
  81. time. So far - this appears to only affect Chat - it doesn't seem to bother
  82. any other programs that are running.
  83.  
  84. Chat has been successfully tested and run under A/UX 3.0.1. 
  85.  
  86. **** WHATS NEW IN 2.0.1 ****
  87.  
  88. Added the capability for leaving the user passwords string resource
  89. empty. Now, if there is nothing in the user passwords string resource
  90. the chat room will not ask for a user password on login.
  91.  
  92. Also fixed a small bug - well, didn't actually fix it, just turned off
  93. Pascal Range Checking in the compile. Problem caused Chat to crash on
  94. any machine not running MacsBug. 
  95.  
  96. **** WHATS NEW IN 2.0 ****
  97.  
  98. This is a new and improved version of Peter N. Lewis's Chat 1.1 
  99. Macintosh TCP/IP Chat Server. It now supports changing of channels,
  100. changing of user names, and many other nifty features. To customize
  101. it you will need to use ResEdit - most of the program's strings are 
  102. contained
  103. in resources so it can be customized rather extensively.
  104.  
  105. New Commands:
  106.  User Help                               /HELP
  107.  Changing channel                        /CHANNEL ch-name
  108.  Whispering to another user              /WHISPER user
  109.  Yelling to all channels                 /YELL msg
  110.  Change your name                        /SET NAME newname
  111.  Page a user to your channel             /PAGE user
  112.  List users on all channels              /LISTALL
  113.  List users on current channel only      /LIST
  114.  Rolling dice (for games I suppose)      /DICE count
  115.  
  116.  Hiding from other users (Admin Only)    \HIDE admin-pswd
  117.  Unhideing from other users (Admin Only) \UNHIDE admin-pswd
  118.  Disconnect A User (Admin Only)          \KILL admin-pswd user
  119.  Disconnect All (Admin Only)             \RESTART admin-pswd
  120.  Administrator Help                      \HELP
  121.  User and Administrator Passwords
  122.  
  123.  
  124. The default TCP port to connect to: 1420
  125. The default user password for Chat 2.0 is "permission".
  126. The default admin password for Chat 2.0 is "admin".
  127.  
  128. A sample telnet session to the chat server is enclosed.
  129.  
  130. *************************************************************************
  131. The following is the documentation enclosed w/ Chat 1.1.0. 
  132. *************************************************************************
  133.  
  134. Chat 1.1.0 © Peter N Lewis, Mar 1992.
  135. This program is free, but I retain the copyright on it.
  136.  
  137. This program was initially written to assist in the online meetings of the 
  138. TopSoft group, a group of mac programmers on the Internet, dedicated to 
  139. producing free, high quality software and sample code.  To get more 
  140. information about this group, ftp to syrinx.kgs.ukans.edu and check out 
  141. the /topsoft directory, or send some mail to 
  142. ts-request@syrinx.kgs.ukans.edu and ask to be added to the mailing list.
  143.  
  144. • Contents
  145.  
  146.       What Chat Does
  147.       Using Chat
  148.       Customising Chat
  149.       How It Works
  150.       Limitations
  151.       Small Print
  152.       Warranty
  153.       Fine Print
  154.       Version History
  155.       The Author
  156.  
  157. • What Chat Does
  158.  
  159. Chat is a background only application that lets Macs with MacTCP 1.1 serve 
  160. as a very primitive IRC.  Once Chat is running on your mac, multiple 
  161. people can Telnet to port 1420 on your mac and have online discussions .  
  162. Chat has no macintosh user interface, the only way to use it is by 
  163. telneting to your mac.  I wrote this to hold the weekly online meetings of 
  164. the TopSoft group, which have proved very successful.   Chat can support 
  165. upwards of 12 users with the current memory partition (200k), and can 
  166. support an arbitrarily large number of users given enough memory (though 
  167. MacTCP will probably blow up if you try too many :-).  Add about 5 or 10k 
  168. for each extra users you want.
  169.  
  170. • Using Chat
  171.  
  172. You must have MacTCP 1.1 installed in order to use Chat.
  173.  
  174. Put Chat or an alias to it in the Startup Folder (System 7) or make it a 
  175. startup application (System 6 - note you will have to use "Selected 
  176. Applications and DAs" since background only applications are not counted 
  177. as Open Applications under System 6).  Double-Click Chat to get it started 
  178. now.
  179.  
  180. Now you need to connect to Chat using NCSA/Telnet, MUDDweller, telnet on 
  181. unix or VMS machines or some other method...
  182.  
  183. NCSA/Telnet:
  184. Choose Open Connection from the File Menu, type in the name (or IP number) 
  185. of your mac, a space and then the port number (1420).
  186.  
  187. MUDDweller:
  188. Choose New, then choose TCP/IP Address from the configure menu and type in 
  189. the ip numbers of your mac (or the name for newer versions of MUDDweller), 
  190. and the port number (1420).  Hit OK, and then choose Open Connection from 
  191. the Configure menu.
  192.  
  193. Unix:
  194. telnet <macname or ip number> 1420
  195.  
  196. VMS:
  197. telnet <macname or ip number> /port=1420
  198.  
  199. When you connect, it will ask you for a channel.  Channels are defined in 
  200. a STR# resource inside chat (no, I'm not going to make a fancy UI for 
  201. editing it).  By default, there are two channels, “normal” and “nolog”.  
  202. The normal channel is logged to Normal Log on your system volume.  The 
  203. nolog channel is not logged (obviously :-).  After that it will ask you 
  204. for your name.  You are now logged in, but Chat is very boring with only 
  205. one person logged in, so get someone else to log in as well, or log in 
  206. yourself several times.  From now on anything you type will be echoed to 
  207. all other users in a format like this:
  208.  
  209. I type “Hello”, and others would see:
  210. PeterL: Hello
  211.  
  212. Here is a sample session:
  213.  
  214. **** Sample Session ****
  215. unixprompt> telnet mymac 1420
  216. Welcome to Peter's Private Party Line.
  217. Select a channel ("normal" is a good bet):normal
  218. Enter your name:PeterL
  219. Welcome.  Commands start with a  slash (/), everything else goes to the 
  220. channel.
  221. Warning: Everything said is logged and may be used against you.
  222. /LIST
  223. FredB
  224. Hi Fred, whats up?
  225. FredB: Ahh, Peter you showed up.  Nothing much, usual stuff.
  226. FredB: How's Chat coming along?
  227. FredB: How is Chat coming along?
  228. ****
  229.  
  230. Here, I typed the lines:
  231. telnet mymac 1420
  232. normal (third line)
  233. PeterL (fourth line)
  234. Hi Fred, whats up?
  235.  
  236. Try it out, you’ll get the idea pretty quick.
  237.  
  238. There are several commands, they all start with a slash (/), to get a 
  239. list, just type "/<return>":
  240.  
  241. ****
  242. /
  243. Bad command.  Commands are:
  244. /QUIT - exit chat, but why would you want to leave?
  245. /LIST - display a list of people on this channel.
  246. /DO <action> - display an action like "Yourname <action>"
  247. /ME <action> - same as /DO
  248. /SET <variable> <value> - set a variable (eg /SET echo true)
  249. everything else is sent to everyone on the channel.
  250. ****
  251.  
  252. There is also a silent command which only the owner should use, QUITNOW 
  253. (case IS relevant), which closes the server down.  Don’t use this on 
  254. someone else’s server!  As the owner, you can change this command by 
  255. changing the Globals STR#, but you probably wont need to, since no one 
  256. reads the documentation anyway, they'll never find out about it :-)
  257.  
  258. There is no way to change channels once you are on, or to listen in on 
  259. more than one channel at once (except by connecting to the server more 
  260. than once of course).
  261.  
  262. • Customising Chat
  263.  
  264. You can customise Chat by using ResEdit to change the STR# resource which 
  265. contains the port number, the channel names, and log names, the Chat Log 
  266. creator, the commands, and all the strings that Chat produces.
  267.  
  268. • How It Works
  269.  
  270. Chat is a very simple program, I wrote it in about three hours, plus I've 
  271. done about a dozen more hours neatifying it, and a couple hours getting it 
  272. ready to send out.  The entire program (ignoring the TCP and other 
  273. libraries) is only a couple hundred lines, and as such should be a good 
  274. starting sample code for writing TCP applications (the pascal source code 
  275. will be sent out as with most of my programs).
  276.  
  277. All it does is listen to the TCP port specified in the STR# resource.  
  278. When it gets a new connection it starts up another listener, and deals 
  279. with the user, first getting their channel and name, and then echoing all 
  280. their messages to the other users on that channel.  It does this by 
  281. keeping a list of all currently logged on users, when a line comes in from 
  282. one user, it goes thru the list and echoes it (with the user’s name 
  283. prepended) to all other users with the same channel.
  284.  
  285. • Limitations
  286.  
  287. Chat probably require the 128k ROM and System version 6.0 or higher.  It 
  288. may well only work with a Mac IIsi (not mine)-:, and System 7.0.  It 
  289. definitely requires MacTCP v1.1 or better yet 1.1.1.
  290.  
  291. There are several caveats.  Second, in a “crowded room”, you may have 
  292. troubles with people all speaking at once (which is not a real problem for 
  293. users using MUDDweller, but mucks up the screens of users who connect with 
  294. other clients).  The solution we adopted was to start and end you messages 
  295. with a blank line, so people can tell when you have finished, and avoid 
  296. interrupting you once you have started.
  297.  
  298. • Small Print
  299.  
  300. This program is free, don’t bother sending me any money for this one, it 
  301. was only a days work anyway.  If you like it, send me an Email message 
  302. saying hello, or a postcard or something like that.
  303.  
  304. You may distribute Chat any way you wish as long as you don't charge for 
  305. it (reasonable download costs such as Compu$erve are ok I guess (although 
  306. who would call Compu$erve's download costs reasonable?)).  It would 
  307. probably be a good idea to keep this documentation file with the program, 
  308. but I'm hardly likely to check up on you now am I!  I don't guarantee any 
  309. support, but I always answer my Email (I'm not so good with snail-mail and 
  310. those horrible little bits of paper and such!).  If I don't answer Email 
  311. its because your message didn't get to me, or my reply bounced (so try 
  312. again, and include a valid Internet address if you can).
  313.  
  314. You MAY NOT distribute it on any magnetic media you charge for without my 
  315. express permission unless you charge less that US$3 for the disks (and no 
  316. membership costs).  I am sick and tired of seeing people selling 
  317. PD/Shareware software for ten dollars a disk without any reimbursement to 
  318. the authors.  If you are a legitimate user group, let me know and I'll 
  319. waive teh "no membership costs" restriction. 
  320.  
  321. • Warranty
  322.  
  323.       There is absolutely NO warranty, guarantee, hint, suggestion or 
  324. anything else that would lead anyone to think that Chat do anything stated 
  325. in this documentation.  It usually does not destroy data (systems, 
  326. hardware, etc), and has sometimes worked on my Mac with System 7.0.  It is 
  327. highly unlikely that it will work with older systems (pre 6.0 anyway) or 
  328. with the 64k ROM.  It might work with the other models, but I don't have 
  329. them all, so I don't know (Anyone want to give me a IIfx (or one of those 
  330. new beasts?  How did they come up with such a terrible name???) so I can 
  331. check for compatibility?).  It might work with future versions of MacTCP 
  332. (after 1.1.1), but who can tell?  If it works on your system (or 
  333. especially if it doesn't!), send me a postcard or some Email and let me 
  334. know!
  335.  
  336. • Fine Print
  337.  
  338.       Peter Lewis hereby disclaims all warranties relating to this 
  339. software, whether express or implied, including without limitation any 
  340. implied warranties of merchantability or fitness for a particular 
  341. purpose.  Does any one really read this stuff.  Peter Lewis will not be 
  342. liable for any special, incidental, consequential, indirect or similar 
  343. damages due to loss of data or any other reason, even if Peter Lewis or an 
  344. agent of his has been advised of the possibility of such damages.  In no 
  345. event shall Peter Lewis be liable for any damages, regardless of the form 
  346. of the claim.  The person using the software bears all risk as to the 
  347. quality and performance of the software.
  348.  
  349. • Version History
  350.  
  351. Still to do -
  352.  
  353. Perhaps a password facility.
  354. Private message facility - nope, I've decided not to do this.
  355. Uniteruptable messages
  356. Log play back
  357.  
  358. v1.1.0
  359. ~Multiple channels
  360. ~New / command structure
  361.  
  362. v1.0.1
  363. ~Word wrapping lines.
  364.  
  365. v1.0.0
  366. ~Moved strings into resource fork.
  367. ~Improved strings
  368.  
  369. *****
  370. * The Author
  371.  
  372. Programs written by me:
  373. Anarchie 1.1.0 - Macintosh Archie client and FTP browser.
  374. Morpion 1.0.0 - A simple solitaire game.
  375. FTPd 2.2.0 - Macintosh FTP server.
  376. Daemon 1.0.0 - Macintosh multi-protocol daemon.
  377. Script Daemon 1.0.0 - Telnet->AppleScript gateway
  378. DeHQX 2.0.1 - BinHex decoder (use StuffIt Expander instead).
  379. Finger 1.3.7 - Macintosh Finger client/daemon.
  380. Talk 1.1.1 - Macintosh Talk client/daemon.
  381. MacTCP Watcher 1.1.0 - Display MacTCP state information.
  382. MacBinary II+ 1.0.2 - MacBinary II+ encoder/decoder.
  383. ObiWan 4.0.1 - Online help system.
  384. Bolo Finder 1.0.2 - Display the results from Mike Ellis' Bolo Tracker.
  385. Bolo RandomMap 1.1.0 - Generate a random map for Bolo.
  386. FetchNews 1.0.0b - Fetch News for use with NewsWatcher demo mode.
  387. Chat 1.1.0 - Multiuser primitive irc-like daemon.
  388.  
  389. The latest versions of my programs are available from:
  390. amug.org:/pub/ftp1/peterlewis
  391. redback.cs.uwa.edu.au:/others/peterlewis
  392. and French versions of some of my programs may be available from:
  393. ftp.sri.ucl.ac.be:/pub.
  394.  
  395. You can sometimes get the latest development versions from redback, but
  396. only use the development versions if you have some specific problem - in
  397. which case you should tell me, especially since the development versions on
  398. redback are often not the latest versions I have)
  399.  
  400. Send postcards, comments, bug reports, wishes, and payments to:
  401.  
  402. Peter Lewis,
  403. 10 Earlston Way,
  404. Booragoon, Perth, WA, 6154,
  405. AUSTRALIA
  406.  
  407. or by electronic mail to:
  408.  
  409. Internet: peter.lewis@info.curtin.edu.au
  410. Bitnet: peter.lewis%info.curtin.edu.au@cunyvm.bitnet
  411. UUCP: uunet!munnari.oz!info.curtin.edu.au!peter.lewis
  412. *****
  413.